package com.evil.application.api;

import com.evil.application.config.FeignErrorDecoder;
import com.evil.common.application.dto.button.ButtonActionBatchReqDTO;
import com.evil.common.application.dto.button.ButtonActionReqDTO;
import com.evil.common.application.dto.order.data.ControlDataDTO;
import com.evil.common.core.constant.ServiceNameConstant;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;

import java.util.List;

/**
 * 自定义按钮执行接口
 *
 * @author liyang
 * @date 2022-08-08 00:00
 */
@FeignClient(name = ServiceNameConstant.APPLICATION_SERVICE, configuration = {FeignErrorDecoder.class})
public interface RemoteButtonActionService {

    /**
     * 按钮动作
     *
     * @param buttonActionReqDTO buttonActionReqDTO
     * @return List
     */
    @RequestMapping("/remote/rule/button-action")
    List<ControlDataDTO> buttonAction(@RequestBody ButtonActionReqDTO buttonActionReqDTO);

    /**
     * 按钮动作-批量（编辑数据按钮使用）
     *
     * @param buttonActionBatchReqDTO buttonActionBatchReqDTO
     */
    @RequestMapping("/remote/rule/button-action-batch")
    List<List<ControlDataDTO>> buttonAction(@RequestBody ButtonActionBatchReqDTO buttonActionBatchReqDTO);
}
